public class test9 {
    public static <E extends Comparable<E>> SqListClass<E> Union(SqListClass<E> A, SqListClass<E> B) {
        SqListClass<E> C = new SqListClass<>();
        int i = 0;
        int j = 0;
        while (i < A.size() && j < B.size()) {
            E ea = A.GetElem(i);
            E eb = B.GetElem(j);
            if (ea.compareTo(eb) < 0) {
                C.Add(ea);
                i++;
            } else if (eb.compareTo(ea) < 0) {
                C.Add(eb);
                j++;
            } else {
                C.Add(ea);
                i++;
                j++;
            }
        }
        while (i < A.size()) {
            C.Add(A.GetElem(i));
            i++;
        }
        while (j < B.size()) {
            C.Add(B.GetElem(j));
            j++;
        }
        return C;
    }

    public static void main(String args[]) {
        SqListClass<Integer> listA = new SqListClass<>();
        listA.add(1);
        listA.add(3);
        listA.add(5);
        listA.add(7);
        SqListClass<Integer> listB = new SqListClass<>();
        listB.add(1);
        listB.add(2);
        listB.add(4);
        listB.add(5);
        listB.add(7);

        SqListClass<Integer> result = Union(listA, listB);
        System.out.println(result);
    }
}